package edu.unmsm.ocaa.sisocaa.integracion.dao.impl;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.dao.DataAccessException;
import org.springframework.orm.ibatis.support.SqlMapClientDaoSupport;
import org.springframework.stereotype.Repository;

import com.ibatis.sqlmap.client.SqlMapClient;

import edu.unmsm.ocaa.sisocaa.integracion.dao.OpcPregFichaDAO;
import edu.unmsm.ocaa.sisocaa.negocio.model.dto.OpcPregFichaDTO;

@Repository
public class OpcPregFichaDAOImpl extends SqlMapClientDaoSupport implements OpcPregFichaDAO {

	@Autowired
	public OpcPregFichaDAOImpl(SqlMapClient sqlmap) {
		super.setSqlMapClient(sqlmap);
		// TODO Auto-generated constructor stub
	}

	public OpcPregFichaDTO getOpcPregxFicha(Integer idFicha,
			Integer idPregficha, Integer idOpcpregficha)
			throws DataAccessException {
		// TODO Auto-generated method stub
		Map map=new HashMap();
		map.put("id_ficha", idFicha);
		map.put("id_pregficha", idPregficha);
		map.put("id_opcpregficha", idOpcpregficha);
		return (OpcPregFichaDTO)getSqlMapClientTemplate().queryForObject("getOpcPregFicha", map);
	}

	public List<OpcPregFichaDTO> getOpcsPregxFicha(Integer idFicha,
			Integer idPregficha) throws DataAccessException {
		// TODO Auto-generated method stub
		Map map=new HashMap();
		map.put("id_ficha", idFicha);
		map.put("id_pregficha", idPregficha);
		return (List<OpcPregFichaDTO>)getSqlMapClientTemplate().queryForList("getOpcPregFichas", map);
	}

	public void insertOpcPregxFicha(OpcPregFichaDTO opc)
			throws DataAccessException {
		// TODO Auto-generated method stub
		getSqlMapClientTemplate().insert("insertOpcPregFicha", opc);
	}

	public void updateOpcPregxFicha(OpcPregFichaDTO opc)
			throws DataAccessException {
		// TODO Auto-generated method stub
		getSqlMapClientTemplate().update("updateOpcPregFicha",opc);
	}

	@Override
	public void deleteOpcPregxFicha(OpcPregFichaDTO opc)
			throws DataAccessException {
		// TODO Auto-generated method stub
		getSqlMapClientTemplate().delete("deleteOpcPregFicha", opc);
	}

	@Override
	public void deleteOpcsPregxFicha(OpcPregFichaDTO opc)
			throws DataAccessException {
		// TODO Auto-generated method stub
		getSqlMapClientTemplate().delete("deleteOpcsPregFicha", opc);
	}

	@Override
	public OpcPregFichaDTO getMaxOpcPregxFicha() throws DataAccessException {
		// TODO Auto-generated method stub
		return (OpcPregFichaDTO)getSqlMapClientTemplate().queryForObject("getMaxOpcPregFicha");
	}

}
